package com.ruoyi.edit.domain.VO;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 课程包对象 tc_course_package
 * 
 * @author qiufeng
 * @date 2022-03-10
 */
public class CoursePackageVO extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 课程包id，课程包是所有单节课程的集合 */
    private String id;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date created;

    /** 课程ID */
    @Excel(name = "课程ID")
    private String vendorId;

    /** 课程包名称 */
    @Excel(name = "课程包名称")
    private String name;

    @Excel(name = "课程包名称")
    private String parentName;


    /** 课程包描述 */
    @Excel(name = "课程包描述")
    private String description;

    /** 促销信息 */
    @Excel(name = "促销信息")
    private String promoInfo;

    /** 价格 */
    @Excel(name = "价格")
    private Long price;

    /** 原价 */
    @Excel(name = "原价")
    private Long originPrice;

    /** 目标用户 */
    @Excel(name = "目标用户")
    private String targetUser;

    /** 维度 */
    @Excel(name = "维度")
    private String dimensions;

    /** 标签 */
    @Excel(name = "标签")
    private String tags;

    /** 月龄 低限 */
    @Excel(name = "月龄 低限")
    private Long ageLow;

    /** 月龄 高限 */
    @Excel(name = "月龄 高限")
    private Long ageHigh;

    /** 日期前有效 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "日期前有效", width = 30, dateFormat = "yyyy-MM-dd")
    private Date avaliableDate;

    /** 状态， 0.未发布， 1.发布 */
    @Excel(name = "状态， 0.未发布， 1.发布")
    private Integer published;

    /** 是否删除 */
    @Excel(name = "是否删除")
    private Integer deleted;

    /**  */
    @Excel(name = "")
    private String albumId;

    /**  */
    @Excel(name = "")
    private Long courseCount;

    /**  */
    @Excel(name = "")
    private String author;

    /**  */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastUpdated;

    /** 厂商名字 */
    @Excel(name = "厂商名字")
    private String vendorName;

    /**  */
    @Excel(name = "")
    private String cover;

    /** 0托班1早教 */
    @Excel(name = "0托班1早教")
    private String type;

    /** 父级ID */
    @Excel(name = "父级ID")
    private String parentId;

    @Excel(name = "创建人")
    private String createdBy;

    @Excel(name = "创建人名称")
    private String createdName;


    @Excel(name = "类型名称")
    private String typeName;

    @Excel(name = "显示顺序")
    private Integer orderNum;

    public String getParentName() {
        return parentName;
    }

    public void setParentName(String parentName) {
        this.parentName = parentName;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public String getCreatedName() {
        return createdName;
    }

    public void setCreatedName(String createdName) {
        this.createdName = createdName;
    }

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setCreated(Date created) 
    {
        this.created = created;
    }

    public Date getCreated() 
    {
        return created;
    }
    public void setVendorId(String vendorId) 
    {
        this.vendorId = vendorId;
    }

    public String getVendorId() 
    {
        return vendorId;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }
    public void setPromoInfo(String promoInfo) 
    {
        this.promoInfo = promoInfo;
    }

    public String getPromoInfo() 
    {
        return promoInfo;
    }
    public void setPrice(Long price) 
    {
        this.price = price;
    }

    public Long getPrice() 
    {
        return price;
    }
    public void setOriginPrice(Long originPrice) 
    {
        this.originPrice = originPrice;
    }

    public Long getOriginPrice() 
    {
        return originPrice;
    }
    public void setTargetUser(String targetUser) 
    {
        this.targetUser = targetUser;
    }

    public String getTargetUser() 
    {
        return targetUser;
    }
    public void setDimensions(String dimensions) 
    {
        this.dimensions = dimensions;
    }

    public String getDimensions() 
    {
        return dimensions;
    }
    public void setTags(String tags) 
    {
        this.tags = tags;
    }

    public String getTags() 
    {
        return tags;
    }
    public void setAgeLow(Long ageLow) 
    {
        this.ageLow = ageLow;
    }

    public Long getAgeLow() 
    {
        return ageLow;
    }
    public void setAgeHigh(Long ageHigh) 
    {
        this.ageHigh = ageHigh;
    }

    public Long getAgeHigh() 
    {
        return ageHigh;
    }
    public void setAvaliableDate(Date avaliableDate) 
    {
        this.avaliableDate = avaliableDate;
    }

    public Date getAvaliableDate() 
    {
        return avaliableDate;
    }
    public void setPublished(Integer published) 
    {
        this.published = published;
    }

    public Integer getPublished() 
    {
        return published;
    }
    public void setDeleted(Integer deleted) 
    {
        this.deleted = deleted;
    }

    public Integer getDeleted() 
    {
        return deleted;
    }
    public void setAlbumId(String albumId) 
    {
        this.albumId = albumId;
    }

    public String getAlbumId() 
    {
        return albumId;
    }
    public void setCourseCount(Long courseCount) 
    {
        this.courseCount = courseCount;
    }

    public Long getCourseCount() 
    {
        return courseCount;
    }
    public void setAuthor(String author) 
    {
        this.author = author;
    }

    public String getAuthor() 
    {
        return author;
    }
    public void setLastUpdated(Date lastUpdated) 
    {
        this.lastUpdated = lastUpdated;
    }

    public Date getLastUpdated() 
    {
        return lastUpdated;
    }
    public void setVendorName(String vendorName) 
    {
        this.vendorName = vendorName;
    }

    public String getVendorName() 
    {
        return vendorName;
    }
    public void setCover(String cover) 
    {
        this.cover = cover;
    }

    public String getCover() 
    {
        return cover;
    }
    public void setType(String type)
    {
        this.type = type;
    }

    public String getType()
    {
        return type;
    }

    public String getParentId() {
        return parentId;
    }

    public void setParentId(String parentId) {
        this.parentId = parentId;
    }

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    public Integer getOrderNum() {
        return orderNum;
    }

    public void setOrderNum(Integer orderNum) {
        this.orderNum = orderNum;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("created", getCreated())
            .append("vendorId", getVendorId())
            .append("name", getName())
            .append("description", getDescription())
            .append("promoInfo", getPromoInfo())
            .append("price", getPrice())
            .append("originPrice", getOriginPrice())
            .append("targetUser", getTargetUser())
            .append("dimensions", getDimensions())
            .append("tags", getTags())
            .append("ageLow", getAgeLow())
            .append("ageHigh", getAgeHigh())
            .append("avaliableDate", getAvaliableDate())
            .append("published", getPublished())
            .append("deleted", getDeleted())
            .append("albumId", getAlbumId())
            .append("courseCount", getCourseCount())
            .append("author", getAuthor())
            .append("lastUpdated", getLastUpdated())
            .append("vendorName", getVendorName())
            .append("cover", getCover())
            .append("type", getType())
            .toString();
    }
}
